Remote computing systems can enable users to access resources hosted by the remote computing systems. Servers on the remote computing systems can execute programs and transmit signals indicative of a user interface to clients that can connect by sending signals over a network conforming to a communication protocol such as the TCP/IP protocol. Each connecting client may be provided a session, i.e., an execution environment that includes a set of resources. Each client can transmit signals indicative of user input to the server and the server can apply the user input to the appropriate session. The clients may use protocols such as the Remote Desktop Protocol (RDP) to connect to a server resource.
It is becoming increasingly common to see multiple audio devices on a single client computer. With the rise of Voice Over Internet Protocol (VOIP) communications software, users may have a set of speakers that they use for music and other audio and also a headset with a built in microphone or other devices. Desktop multimedia and communication applications can select an audio device to use, which allows the user's music to play from the speakers while the headset is used for voice communications purposes. Some remote protocols may provide support for redirecting audio playback from the server to the client computer and also redirect recorded audio from the client computer to the server. In both cases, however, the audio capabilities are typically directed through a single device. This severely limits the richness available to audio applications, and does not adequately support the multiple device scenario described above. Thus, other techniques are needed in the art to solve the above described problems.